# SpecLock - AI Constraint Engine

AI Constraint Engine with AI Patch Firewall. 42 MCP tools. Patch Gateway (ALLOW/WARN/BLOCK verdicts), diff-native review (10 scored signals, hard escalation rules), Spec Compiler, Code Graph, Typed c…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add sgroy10/speclock

# Browse available tools
npx -y @smithery/cli@latest tool list sgroy10/speclock

# Get full schema for a tool
npx -y @smithery/cli@latest tool get sgroy10/speclock speclock_init

# Call a tool
npx -y @smithery/cli@latest tool call sgroy10/speclock speclock_init '{}'
```

## Direct MCP Connection

Endpoint: `https://speclock--sgroy10.run.tools`

## Tools (44)

- `speclock_init` — Initialize SpecLock in the current project directory.
- `speclock_get_context` — THE KEY TOOL. Returns the full structured context pack.
- `speclock_set_goal` — Set or update the project goal.
- `speclock_add_lock` — Add a non-negotiable constraint (SpecLock).
- `speclock_remove_lock` — Remove (deactivate) a SpecLock by its ID.
- `speclock_add_decision` — Record an architectural or design decision.
- `speclock_add_note` — Add a pinned note for reference.
- `speclock_set_deploy_facts` — Record deployment configuration facts.
- `speclock_log_change` — Manually log a significant change.
- `speclock_get_changes` — Get recent file changes tracked by SpecLock.
- `speclock_get_events` — Get the event log, optionally filtered by type.
- `speclock_check_conflict` — Check if a proposed action conflicts with any active SpecLock. In hard mode, blocks above threshold.
- `speclock_session_briefing` — Start a new session and get a full briefing.
- `speclock_session_summary` — End the current session and record what was accomplished.
- `speclock_checkpoint` — Create a named git tag checkpoint for easy rollback.
- `speclock_repo_status` — Get current git repository status.
- `speclock_suggest_locks` — AI-powered lock suggestions based on project patterns.
- `speclock_detect_drift` — Scan recent changes for constraint violations.
- `speclock_health` — Health check with completeness score and multi-agent timeline.
- `speclock_apply_template` — Apply a pre-built constraint template (nextjs, react, express, supabase, stripe, security-hardened).
- `speclock_report` — Violation report — how many times SpecLock blocked changes.
- `speclock_audit` — Audit staged files against active locks.
- `speclock_verify_audit` — Verify the integrity of the HMAC audit chain.
- `speclock_export_compliance` — Generate compliance reports (SOC 2, HIPAA, CSV).
- `speclock_set_enforcement` — Set enforcement mode: advisory (warn) or hard (block).
- `speclock_override_lock` — Override a lock with justification. Logged to audit trail.
- `speclock_semantic_audit` — Semantic pre-commit: analyzes code changes vs locks.
- `speclock_override_history` — Show lock override history.
- `speclock_policy_evaluate` — Evaluate policy-as-code rules against proposed actions.
- `speclock_policy_manage` — Policy CRUD: list, add, remove policy rules.
- `speclock_telemetry` — Opt-in usage analytics summary.
- `speclock_guard_file` — Add SPECLOCK-GUARD header to lock specific files.
- `speclock_auto_guard` — Auto-guard files related to lock keywords.
- `speclock_add_typed_lock` — Add typed constraint (numerical/range/state/temporal).
- `speclock_check_typed` — Check proposed values against typed constraints.
- `speclock_list_typed_locks` — List all typed constraints with current thresholds.
- `speclock_update_threshold` — Update typed lock thresholds dynamically.
- `speclock_compile_spec` — Compile natural language (PRDs, READMEs) into structured constraints via Gemini Flash.
- `speclock_build_graph` — Build/refresh code dependency graph from imports (JS/TS/Python).
- `speclock_blast_radius` — Calculate blast radius — transitive dependents, impact %, depth.
- `speclock_map_locks` — Map active locks to actual code files via the dependency graph.
- `speclock_review_patch` — ALLOW/WARN/BLOCK verdict — combines semantic conflict + lock-file mapping + blast radius.
- `speclock_review_patch_diff` — Diff-native review — parses actual diffs for interface breaks, protected symbols, dependency drift, schema changes.
- `speclock_parse_diff` — Parse unified diff into structured changes — imports, exports, symbols, routes, schema detection.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get sgroy10/speclock <tool-name>
```

---

Source: https://github.com/sgroy10/flowkeeper
